package com.wyx.regexp;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author 王艺锡
 * @version 1.0
 * 反向引用
 */
public class regExp10 {
    public static void main(String[] args) {
        //反向引用:圆括号的内容被捕获以后，可以在这个括号后被使用，成为反向引用
        //内部反向引用:\\分组号
        //外部反向引用:$分组号

        //例:
        //1.要匹配两个连续相同的数字:regStr = "(\\d)\\1";
        //2.要匹配五个连续相同的数字:regStr = "(\\d)\\1{4}";
        //3.要匹配个位和千位相同，十位和百位相同的数字:regStr = "(\\d)(\\d)\\2\\1";

        String content = "dao11ikhyg44444ojo1221iwyo3553pjfss";
        //String regStr ="(\\d)\\1";
        //String regStr = "(\\d)\\1{4}";
        String regStr = "(\\d)(\\d)\\2\\1";

        Pattern pattern = Pattern.compile(regStr);
        Matcher matcher = pattern.matcher(content);
        while (matcher.find()){
            System.out.println("找到" + matcher.group(0));
        }
    }
}
